1. Field of the Invention
The present invention relates to a bar code reading system for reconstructing bar codes that have been damaged by wrinkles, crumples, creases, or by similar types of irregular damage. In particular, a scanner scans bar codes to determine whether symbols in the bar code are damaged. If the symbol is damaged, the reading system reconstructs the damaged symbol by calculating the possible permutations of black bar and white space elements to arrive at a single, decodable symbol.
2. Background
It is increasingly commonplace within industry to utilize bar code symbols printed on objects in order to identify the objects and convey information regarding the objects. A conventional bar code symbol comprises a pattern of vertical bars of various widths separated by spaces of various widths. The modulated widths of the bar and space elements can be interpreted by an electro-optical imaging system that converts the symbols into an electrical signal, which is then decoded to provide an alphanumeric representation of the bar code symbol. Bar code symbology of this nature are commonly used in various applications, such as inventory control, point of sale identification, or logistical tracking systems.
The electro-optical imaging system typically uses light from a light source that is scanned across the bar code field. Since the bar code symbology is often disposed on the object to be identified, it is desirable for the reader to be included in a hand-held or portable device so that the reader can be brought to the object. The operator can physically move the light source across the bar code field, such as by use of a light pen. Alternatively a bar code reader may include movable mirrors that automatically articulate light from a laser back and forth at a high rate to scan across the bar code field. The operator would normally be provided with a feedback signal, such as an audible tone, that alerts the operator as to the successful completion of a bar code reading operation.
Alternatively, electro-optical imaging systems can convert the entire bar code symbol into pixel information that is deciphered into the alphanumeric information represented by the symbol. Such imaging systems typically utilize charge-coupled device (CCD) technology to convert the optical information from the bar code symbol into an electrical signal representation of the symbol. CCD-based electro-optical imaging systems are preferable over laser-based imaging systems since the CCD does not require any moving elements, and is further adaptable to image advanced types of symbologies, such as two-dimensional codes, that could not be easily collected by an articulated laser. An image of the bar code symbol is optically transferred to a linear or two-dimensional array of multiple adjacent photodiodes that comprise the CCD device, with each one of the photodiodes defining a distinct picture element (or pixel) of the array. The CCD array is scanned electrically by activating the individual photodiodes in a sequential manner.
A successful bar code scan depends upon the clarity of the bar code symbol. A clean symbol can be scanned and decoded with little difficulty. A damaged bar code, however, poses problems for bar code scanners. When a bar code is wrinkled or crumpled, elements within a particular bar code symbol become displaced or hidden altogether. As a result, the bar code scanning operation may require several attempts before a successful scan is made, if a scan is even possible. Certain types of damage may render the bar code symbol completely unreadable by a conventional bar code reader.
Bar code symbol damage can be classified into two different types: regular damage and irregular damage. Regular damage can be defined as any kind of damage that merely obstructs the information encoded in the symbol but does not corrupt the flat surface of the bar code label. Examples of regular damage would include dirt, dust or grease that covers the bar code symbol. Regular damage can often be decoded by applying an alignment of partial successive scans.
Irregular damage obstructs the encoded information and corrupts the actual bar code label surface. The corruption of the surface can be described as a non-linear transformation of the bar-code surface. Examples of irregular damage are wrinkles, crumples, creases, and the like.
Irregular damage to bar codes on items slated for inventory or sale can economically harm a business that relies upon a bar code system. Particularly, damaged bar codes often cannot be read by a conventional bar code reader. The inability of the bar code reader to successfully read the damaged bar code results in the manual input of the information sought to be stored. The likelihood of error increases when significant amounts of encoded information must be input by hand. In addition, repeated manual input of information can lead to serious productivity losses and, consequently, lost profit for businesses that utilize bar code readers.
Moreover, more deleterious consequences can occur. For instance, a bar code reader can misread the damaged symbol and, in turn, input incorrect information. That error can be compounded when large quantities of a particular item are sold or inventoried based upon a single misread bar code. Once again, productivity losses occur once the error has been found and the correct information must be input by hand.
For the foregoing reasons, there is a need for a bar code reading system capable of reading irregularly damaged bar codes. More particularly, there is a need for a bar code reading system that can reconstruct a bar code symbol that has been damaged by wrinkles, crumples, creases, or the like.